<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MuldeR&#39;s Utilities for Qt: include/MUtils/CPUFeatures.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MuldeR&#39;s Utilities for Qt
   </div>
   <div id="projectbrief">MUtilities</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_b076b53667bc06ebb413a190e197fc7b.html">MUtils</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">CPUFeatures.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This file contains function for detecting information about the CPU.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="../../d5/d3b/_global_8h_source.html">MUtils/Global.h</a>&gt;</code><br />
<code>#include &lt;QStringList&gt;</code><br />
</div>
<p><a href="../../d2/db5/_c_p_u_features_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">MUtils::CPUFetaures::_cpu_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct to hold information about the CPU. See <code><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">_cpu_info_t</a></code> for details!  <a href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d3/da6/namespace_m_utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></td></tr>
<tr class="memdesc:d3/da6/namespace_m_utils"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html">MUtils::CPUFetaures</a></td></tr>
<tr class="memdesc:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="mdescLeft">&#160;</td><td class="mdescRight">This namespace contains functions and constants for detecting CPU information. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="memItemLeft" align="right" valign="top"><a id="a8b80fb34713dbc70a63ae5cd48b0630e"></a>
typedef struct <a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">MUtils::CPUFetaures::_cpu_info_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e">MUtils::CPUFetaures::cpu_info_t</a></td></tr>
<tr class="memdesc:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct to hold information about the CPU. See <code><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">_cpu_info_t</a></code> for details! <br /></td></tr>
<tr class="separator:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5f26f530b11eee62845fb45fba6a32fc"><td class="memItemLeft" align="right" valign="top">MUTILS_API cpu_info_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">MUtils::CPUFetaures::detect</a> (void)</td></tr>
<tr class="memdesc:a5f26f530b11eee62845fb45fba6a32fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect processor information.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">More...</a><br /></td></tr>
<tr class="separator:a5f26f530b11eee62845fb45fba6a32fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:af1d34d67451c27e125b507089bfd147f"><td class="memItemLeft" align="right" valign="top">static const quint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">MUtils::CPUFetaures::VENDOR_INTEL</a> = 0x01U</td></tr>
<tr class="memdesc:af1d34d67451c27e125b507089bfd147f"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU vendor flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">More...</a><br /></td></tr>
<tr class="separator:af1d34d67451c27e125b507089bfd147f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e26e9e81b42bd517928449fa28fc4e"><td class="memItemLeft" align="right" valign="top">static const quint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">MUtils::CPUFetaures::VENDOR_AMD</a> = 0x02U</td></tr>
<tr class="memdesc:a37e26e9e81b42bd517928449fa28fc4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU vendor flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">More...</a><br /></td></tr>
<tr class="separator:a37e26e9e81b42bd517928449fa28fc4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf2416d7ed2553f313fb08c289365f5c"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">MUtils::CPUFetaures::FLAG_CMOV</a> = 0x001U</td></tr>
<tr class="memdesc:adf2416d7ed2553f313fb08c289365f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">More...</a><br /></td></tr>
<tr class="separator:adf2416d7ed2553f313fb08c289365f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">MUtils::CPUFetaures::FLAG_MMX</a> = 0x002U</td></tr>
<tr class="memdesc:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">More...</a><br /></td></tr>
<tr class="separator:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a1dd90366db8200e38299635e54a90"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">MUtils::CPUFetaures::FLAG_SSE</a> = 0x004U</td></tr>
<tr class="memdesc:a02a1dd90366db8200e38299635e54a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">More...</a><br /></td></tr>
<tr class="separator:a02a1dd90366db8200e38299635e54a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ba4833265029796db9279e9bd8beae8"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">MUtils::CPUFetaures::FLAG_SSE2</a> = 0x008U</td></tr>
<tr class="memdesc:a9ba4833265029796db9279e9bd8beae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">More...</a><br /></td></tr>
<tr class="separator:a9ba4833265029796db9279e9bd8beae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">MUtils::CPUFetaures::FLAG_SSE3</a> = 0x010U</td></tr>
<tr class="memdesc:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">More...</a><br /></td></tr>
<tr class="separator:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5125a29c37e57656f45ad168e654fd05"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">MUtils::CPUFetaures::FLAG_SSSE3</a> = 0x020U</td></tr>
<tr class="memdesc:a5125a29c37e57656f45ad168e654fd05"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">More...</a><br /></td></tr>
<tr class="separator:a5125a29c37e57656f45ad168e654fd05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">MUtils::CPUFetaures::FLAG_SSE41</a> = 0x040U</td></tr>
<tr class="memdesc:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">More...</a><br /></td></tr>
<tr class="separator:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">MUtils::CPUFetaures::FLAG_SSE42</a> = 0x080U</td></tr>
<tr class="memdesc:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">More...</a><br /></td></tr>
<tr class="separator:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8a4de23ab21ecd4871358e7edea90cb"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">MUtils::CPUFetaures::FLAG_AVX</a> = 0x100U</td></tr>
<tr class="memdesc:ad8a4de23ab21ecd4871358e7edea90cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">More...</a><br /></td></tr>
<tr class="separator:ad8a4de23ab21ecd4871358e7edea90cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">MUtils::CPUFetaures::FLAG_AVX2</a> = 0x200U</td></tr>
<tr class="memdesc:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">More...</a><br /></td></tr>
<tr class="separator:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">MUtils::CPUFetaures::FLAG_FMA3</a> = 0x400U</td></tr>
<tr class="memdesc:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">More...</a><br /></td></tr>
<tr class="separator:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac041ff2292d32c1bd3f26f61486a01"><td class="memItemLeft" align="right" valign="top">static const quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">MUtils::CPUFetaures::FLAG_LZCNT</a> = 0x800U</td></tr>
<tr class="memdesc:acac041ff2292d32c1bd3f26f61486a01"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU feature flag.  <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">More...</a><br /></td></tr>
<tr class="separator:acac041ff2292d32c1bd3f26f61486a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This file contains function for detecting information about the CPU. </p>
<p>Call the <a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc" title="Detect processor information. ">MUtils::CPUFetaures::detect()</a> to detect information about the processor, which will be returned in a <code><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">MUtils::CPUFetaures::cpu_info_t</a></code> struct. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>
